var datalist=[]
var newsBookIdList=[]
$().ready(function() {
    validateRule();
    getCertificateList()
     $("#type").val($("#hiddenId2").val());
    console.log($('#newIdList').val().split(','),'原始数据')
     $('#newIdList').val().split(',').forEach(item => {
        datalist.forEach((eitem)=>{
            if(item==eitem.id){
                newsBookIdList.push({
                    "value": eitem.id, // 数据值
                    "title": eitem.profileName, // 数据标题
                    "newsList":eitem
                })
            }
        })
    });
    // datalist.map((item)=>{
    //     newsBookIdList.forEach(eitem=>{
    //         if(item.id==eitem){
    //
    //         }
    //     })
    // })
});

$.validator.setDefaults({
    submitHandler : function() {
        update();
    }
});


layui.use('transfer',function () {
    var transfer = layui.transfer;

    // 数据
    // 渲染
    transfer.render({
        elem: '#transferdemovalue',
        parseData: function (res) {
            return {
                "value": res.id, // 数据值
                "title": res.profileName, // 数据标题
                "newsList":res
            }
        },
        data: datalist,
        value: function () {
            try {
                const valFromInput = $('#newIdList').val().split(',');
                // 确保valFromInput是有效的JSON数组字符串
                return valFromInput ? valFromInput : [];
            } catch (error) {
                console.error('Error parsing value:', error);
                return []; // 解析失败时返回空数组
            }
        }(),
        title: ['总证书列表', '选择证书列表'],
        height: 400,// 定义高度
        width: 400, // 定义高度
        onchange: function(obj, index){
            console.log(obj)
            var arr = ['左边', '右边'];
            if(arr[index] === '左边') {
                console.log('左边')
                // 确保newsBookIdList是一个数组，然后添加数据
                if(!Array.isArray(newsBookIdList)) {
                    newsBookIdList = [];
                }
                // 添加数据到数组，这里直接添加obj，因为它是从transfer中直接获取的，无需再构造
                obj.forEach((item,index)=>{
                    newsBookIdList.push(item);
                })

            } else if(arr[index] === '右边') {
                // 防止操作原数组方法 列如:obj长度为2 newsBookIdList为5 但是只循环8次 这是因为如果直接用原数组循环对比删除的话 会导致数组长度变化 索引会发生改变
                newsBookIdList = newsBookIdList.filter(eitem =>
                    !obj.some(uitem => eitem.value === uitem.value)
                );

                // 如果数组长度为1 的时候依然会出现数组元素删不干净的情况 也是因为索引丢失的原因
                // let indicesToRemove=[]
                // newsBookIdList.forEach((eitem, eindex) => {
                //     obj.forEach(uitem => {
                //         if (eitem.value === uitem.value) {
                //             indicesToRemove.push(eitem);
                //         }
                //     });
                // });
                //
                // // 为了防止重复索引导致的问题，需要对indicesToRemove去重并排序（从大到小），以正确删除元素
                // indicesToRemove = [...new Set(indicesToRemove)].sort((a, b) => b - a);
                //
                // indicesToRemove.forEach(index => {
                //     newsBookIdList.splice(index, 1);
                // });

                // 移除数据，注意这里使用value进行过滤，确保与添加逻辑一致
                // newsBookIdList.splice(index,1)
            }
            console.log(newsBookIdList)
        }
        //批量办法定事件

    });
});

function getCertificateList() {
    $.ajax({
        cache: true,
        type: "GET",
        contentType: 'application/json',
        url: "/jzweb/eventResourceTemplate/getCertificateList",
        async: false,
        error: function (request) {
            parent.layer.alert("Connection error");
        },
        success: function (data) {
            if (data.code == 0) {
                datalist=data.data
            }

        }
    });
}
function update() {
    if(newsBookIdList.length>5){
        layer.msg('证书不能超过5条！')
        return false;
    }
    // let idList=[]
    // datalist.forEach((item)=>{
    //     newsBookIdList.forEach(eitem=>{
    //         if(item.id==eitem.value){
    //             idList.push({
    //                 "value": item.id, // 数据值
    //                 "title": item.profileName, // 数据标题
    //                 "newsList":item
    //             })
    //         }
    //     })
    // })
    $.ajax({
        cache : true,
        type : "POST",
        url : "/jzweb/eventResourceTemplate/update",
        contentType: 'application/json',
        data: JSON.stringify({
            paperTemplateId:$('#id').val(),
            name: $('#name').val(),
            type: $('#type').val(),
            newsIdList: newsBookIdList,
            duration: String($('#duration').val()),
            totalScore: Number($('#totalScore').val()),
        }),
        async : false,
        error : function(request) {
            parent.layer.alert("Connection error");
        },
        success : function(data) {
            if (data.code == 0) {
                parent.layer.msg("操作成功");
                parent.reLoad();
                var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
                parent.layer.close(index);

            } else {
                parent.layer.alert(data.msg)
            }

        }
    });

}
function validateRule() {
    var icon = "<i class='fa fa-times-circle'></i> ";
    $("#signupForm").validate({
        rules : {
            name : {
                required : true
            }
        },
        messages : {
            name : {
                required : icon + "请输入名字"
            }
        }
    })
}